package com.sanbi.shield.client.core.bean;

import com.sanbi.shield.server.facade.annotations.ClientIdempotent;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * 幂等重试项
 *
 * @author XiaoQingqing
 * @since 2024/08/27
 */
@Data
@Accessors(chain = true)
public class IdempotentRetryItem implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 方法标识
     */
    private String methodKey;
    /**
     * 幂等键
     */
    private String key;
    /**
     * 请求信息JSON
     */
    private String requestInfo;
    /**
     * 幂等范围
     */
    private ClientIdempotent.Scope scope;

    /**
     * 可执行次数
     */
    private Integer executableTimes;

    /**
     * 已执行次数
     */
    private Integer executedTimes;
}
